package br.com.ca5.mbean;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import br.com.ca5.entity.DocumentoCategoria;
import br.com.ca5.entity.MBeanBase;
import br.com.ca5.service.DocumentoCategoriaService;

@Component
@Scope("session")
@Qualifier("adminCategoriasMBean")
public class AdminCategoriasMBean extends MBeanBase {
	
	private DocumentoCategoria categoriaCrud;
	private List<DocumentoCategoria> categorias;
	private DocumentoCategoriaService documentoCategoriaService;
	
	@Override
	public void onCreateMBean() {
		categoriaCrud = new DocumentoCategoria();
	}
	
	public void inicializaTela(){
		categorias = documentoCategoriaService.findAll();
		categoriaCrud = new DocumentoCategoria();
		find();
	}
	
	public void pesquisar() {
		anulaCamposVazios(categoriaCrud);
		categorias = documentoCategoriaService.find(categoriaCrud);
	}	
	
	public void pesquisaTela(){
		inicializaTela();
	}
	
	public void salvar(){
		documentoCategoriaService.save(categoriaCrud);
		inicializaTela();
	}
	
	public void deletar(){
		//categoriaCrud = documentoCategoriaService.load(categoriaCrud);
		documentoCategoriaService.delete(categoriaCrud);
		inicializaTela();
	}
	
	public void editar(){
		categoriaCrud = documentoCategoriaService.load(categoriaCrud);
		super.editar();
	}

	public DocumentoCategoria getCategoriaCrud() {
		return categoriaCrud;
	}

	public void setCategoriaCrud(DocumentoCategoria categoriaCrud) {
		this.categoriaCrud = categoriaCrud;
	}

	public List<DocumentoCategoria> getCategorias() {
		return categorias;
	}

	public void setCategorias(List<DocumentoCategoria> categorias) {
		this.categorias = categorias;
	}

	public DocumentoCategoriaService getDocumentoCategoriaService() {
		return documentoCategoriaService;
	}

	@Autowired
	public void setDocumentoCategoriaService(
			DocumentoCategoriaService documentoCategoriaService) {
		this.documentoCategoriaService = documentoCategoriaService;
	}
}
